Some computing devices (e.g., mobile phones, tablet computers, etc.) may provide a graphical keyboard as part of a graphical user interface for composing text (e.g., using a presence-sensitive input device and/or display, such as a touchscreen). The graphical keyboard may enable a user of the computing device to enter text (e.g., an e-mail, a text message, or a document, etc.). For instance, a presence-sensitive display of a computing device may output a graphical (or “soft”) keyboard that enables the user to enter data by indicating (e.g., by tapping) keys displayed at the presence-sensitive display.
In some cases, the computing device may present a continuous-gesture graphical keyboard (sometimes referred to as a “gesture keyboard” or “combo gesture keyboard”) with which a user can interact by sliding his or her finger over regions of the presence-sensitive display that are associated with keys of the graphical keyboard, thereby essentially gesturing a word to be input to the computing device. In other words, the user may input an entire word in a single gesture by tracing over the letters of the word output at a presence-sensitive display. In this way, continuous-gesture graphical keyboards provide an input method that allows the user to enter a word or group of words with a gesture. As such, a continuous-gesture graphical keyboard may allow the user to achieve a certain degree of efficiency, especially compared to one-handed tapping of a presence-sensitive screen (e.g., a presence-sensitive screen operatively coupled to or integrated with a computing device).
Users frequently make typographical errors when entering text into computing devices. The frequency with which users make typographical errors may be especially high on small virtual keyboards, such as those commonly found in mobile telephones and tablets. To help users enter text with fewer typographical errors, a computing device may determine that an entered word is not in a lexicon for a language and may attempt to identify a word that the user meant to enter. The computing device may then automatically replace the entered word with the identified word.
One common type of typographical error involves typing the space character at the wrong place in a phrase. For example, when the user is typing the phrase “this is,” the user may enter the space character too early, resulting in the user entering the following sequence of characters “thi sis.” In this example, the computing device may determine that the space character is a hard commit of the characters occurring before the space character. The computing device may consider any user input (e.g., tapping gestures) received after the user input of the space character to relate to the next word. Thus, in this example, the computing device does not modify the characters occurring before the space character based on user input received after the user input for the space character.
Furthermore, in the present example, the computing device may determine that “thi” is not in the lexicon and may therefore automatically replace “thi” with a character string that is in the lexicon, such as “this.” As a result, the computing device may output the phrase “this sis,” which is not the desired phrase. As a result, in this example, the user may have to manually correct either or both the character string “this” and the character string “sis” in order to obtain the desired character string “this is.” Such manual correction may slow the user's entry of text, reducing productivity and causing user frustration.
Another problem may occur in instances where a user enters a character string so quickly that the user does not notice that a typographic error has occurred in the character string until the user has also entered the space character. In such instances, after the computing device has received input indicating selection of the space character, the computing device may discard suggestions for the character string. Also in such instances, had the user noticed the typographical error prior to the entering the space character, the user may have corrected the typographical error by selecting one of the character string suggestions provided by the computing device. However, because, in this instance, the user has already entered input indicating selection of the space character, the user may have no way to recover and select from among the provided character string suggestions to correct the typographical error. As a result, in such instances the user may be required to reposition the cursor and manually correct the typographical error in the character string in order to enter the desired text into the computing device.